home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Daemon / DNodeStuff.c < prev    next >
C/C++ Source or Header  |  1998-10-02  |  1KB  |  62 lines

  1. #include "MP.h"
  2.  
  3. UBYTE *Topaz="topaz.font";
  4. extern struct MPSem *MPSem;
  5.  
  6. void CloneTextAttr(struct TTextAttr *Source, struct TTextAttr *Dest)
  7. {
  8.   CopyMem(Source,Dest,sizeof(struct TextAttr));
  9.     
  10.   if(Dest->tta_Name=AllocVec(strlen(Source->tta_Name)+1,MEMF_CLEAR|MEMF_PUBLIC))
  11.   {
  12.     strcpy(Dest->tta_Name,Source->tta_Name);
  13.     if(Dest->tta_Style & FSF_TAGGED)
  14.     {
  15.       if(!(Dest->tta_Tags=CloneTagItems(Source->tta_Tags)))
  16.         Dest->tta_Style &= (~FSF_TAGGED);
  17.     }
  18.   }
  19.   else
  20.   {
  21.     Dest->tta_Name=Topaz;
  22.     Dest->tta_YSize=8;
  23.     Dest->tta_Style=0;
  24.     Dest->tta_Flags=0;
  25.   }
  26. }
  27.  
  28. struct DefaultNode *MatchDNode(STRPTR TaskName, STRPTR ScrTitle, ULONG ModeID)
  29. {
  30.   struct DefaultNode *dnode;
  31.   STRPTR modename;
  32.  
  33.   
  34.   if(!(dnode=FindDNode(&MPSem->PromotionList[1],ScrTitle)))
  35.   {
  36.     if(!(dnode=FindDNode(&MPSem->PromotionList[0],TaskName)))
  37.     { 
  38.       modename=GetModeName(ModeID);
  39.       dnode=Find_SMNode(&MPSem->PromotionList[PL_SCREENMODES],modename,ModeID);
  40.       FreeVec(modename);
  41.     }
  42.   }
  43.   return(dnode);
  44. }
  45.  
  46.  
  47. /*
  48. struct DefaultNode *MatchAndDupDNode(STRPTR TaskName, STRPTR ScrTitle, ULONG ModeID)
  49. {
  50.   struct DefaultNode *dnode;
  51.  
  52.   ObtainSemaphore(&MPSem->NodeSem);   
  53.   if(dnode=MatchDNode(TaskName.ScrTitle,ModeID))
  54.   {
  55.     dnode=DupDNode(dnode);
  56.   }
  57.   ReleaseSemaphore(&MPSem->NodeSem); 
  58.   
  59.   return(dnode);
  60. }*/
  61.  
  62.